import java.util.ArrayList;
import java.util.List;

public class Test31 {

    public static void main(String[] args) {
        int[] nums = {1,3,2};
        int[] s=nextPermutation(nums);

        for (int i = 0; i < s.length; i++) {
            System.out.println(s[i]);
        }
    }
    public static int[]  nextPermutation(int[] nums) {
        Integer temp=null;
        Integer compare=nums[nums.length-1];
       List min =new ArrayList();
       min.add(compare);
        //直接从倒数第二个元素开始遍历
        for (int i = nums.length-2; i >-1; i--) {
           if (compare > nums[i]) {
                temp=nums[i];
                nums[i]=compare;
                nums[i+1]=temp;
               break;
           }else {
               min.add(nums[i]);
           }
//           if (i==0&&temp==null){
//               int t=nums[0];
//               nums[0]=nums[nums.length-1];
//               nums[nums.length-1]=t;
//
//
//           }
//            if (i==0&&temp==null){
//                Integer[] ans2 = (Integer[]) min.toArray(new Integer[min.size()]);
//                nums = Arrays.stream(ans2).mapToInt(Integer::valueOf).toArray();
//            }
        }

        return nums;
    }
}
